package interview;

public class Interview06 {
/*
 *String str=new String("hello")
 *与String str="hello"区别吗; 
 *有，第一个会创建一个或两个对象，第二个会创建一个或零个对象，因为可能方法区字符串常量池中可能会有字符
 *
 *==是引用类型比较的是地址值是否相同
 *equals比较引用类型默认是比较的是地址值是否相同，而String重写了equals方法，比较的是内容是否相同
 * */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String str=new String("hello");
		String str1="hello";
		String str2="world";
		String str3="helloworld";
		System.out.println(str==str1);
		System.out.println(str1.equals(str));
		System.out.println(str3==str1+str2);
		//变量相加，先开辟了空间，再拼接，所以地址在肯定改变了
		System.out.println(str3=="hello"+"world");
		//常量相加，需要先组合，再去常量池看是否有，如果有就直接返回地址值，所以地址值是存在的

	}

}
